package com.snda.lib.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * JAVA中字符串转与日期型的互转实例
 * 
 * @author tingyazhang
 * 
 *         更改所生成类型注释的模板为 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 */
public class TimeHelper {

	/**
	 * 取当前系统日期，并按指定格式或者是默认格式返回
	 * 
	 * @param format
	 * @return
	 */
	public static String getNow(String strFormat) {
		if (null == strFormat || "".equals(strFormat)) {
			strFormat = "yyyy-MM-dd HH:mm:ss";
		}
		
		SimpleDateFormat sdf = new SimpleDateFormat(strFormat);
		String date = sdf.format(new Date());
		return date;
	}

	/**
	 * 将字符型转换为指定格式日期型
	 * 
	 * @param _date
	 *            需要转换成日期的字符串
	 * @param format
	 *            与需要转换成日期的字符串相匹配的格式
	 * @return
	 */
	public static Date stringToDate(String strDate, String strFormat) {
		if( strDate == null)
			return null;
		
		if (null == strFormat || "".equals(strFormat)) {
			strFormat = "yyyy-MM-dd HH:mm:ss";
		}
		SimpleDateFormat sdf = new SimpleDateFormat(strFormat);
		Date date = null;
		try {
			date = sdf.parse(strDate);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return date;
	}

	/**
	 * 将日期型转换为指定格式的字符串
	 * 
	 * @param date
	 *            日期
	 * @param format
	 *            格式
	 * @return
	 */
	public static String dateToString(Date strDate, String strFormat) {
		if( strDate == null)
			return null;
		
		if (null == strFormat || "".equals(strFormat)) {
			strFormat = "yyyy年MM月dd日 hh点:mm分:ss秒";
		}
		SimpleDateFormat sdf = new SimpleDateFormat(strFormat);

		return sdf.format(strDate);
	}

	/**
	 * 将整数时间转换成Date类型
	 * 
	 * @param lDate
	 * @return
	 */
	public static Date intToDate(long lDate) {
		Date date = new Date(lDate);
		return date;
	}
}